package com.luxsoft.siipap.em.replica.importadores;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.jdbc.core.RowMapper;

import com.luxsoft.siipap.service.ServiceLocator2;
import com.luxsoft.siipap.util.DBUtils;
import com.luxsoft.siipap.ventas.model.Cobrador;
import com.luxsoft.siipap.ventas.model.Vendedor;

/**
 * Rutinas para importar algunas entidades
 * 
 * @author Ruben Cancino
 *
 */
public class ImportadorVarios {
	
	
	public static void importarCobradores(){
		String sql="SELECT * FROM SW_COBRADOR";
		List<Cobrador> cobradores=ServiceLocator2.getAnalisisJdbcTemplate().query(sql, new RowMapper(){

			public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
				Cobrador c=new Cobrador();
				c.setActivo(rs.getInt("ACTIVO")==1);
				c.setApellidoM("");
				c.setApellidoP("");
				c.setRfc("");
				c.setNombres(rs.getString("NOMBRE"));
				return c;
			}
			
		});
		for(Cobrador c:cobradores){
			try {
				//System.out.println("Salvando cobrador...");
				ServiceLocator2.getUniversalDao().save(c);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}	
	}
	
	public static void importarVendedores(){
		String sql="SELECT * FROM SW_VENDEDORES";
		List<Vendedor> data=ServiceLocator2.getAnalisisJdbcTemplate().query(sql, new RowMapper(){

			public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
				Vendedor c=new Vendedor();
				c.setId(rs.getLong("CLAVE"));
				c.setActivo(rs.getInt("ACTIVO")==1);
				c.setApellidoM("");
				c.setApellidoP("");
				c.setRfc("");
				c.setNombres(rs.getString("NOMBRE"));
				
				return c;
			}
			
		});
		for(Vendedor v:data){
			try {
				//System.out.println("Salvando cobrador...");
				ServiceLocator2.getUniversalDao().save(v);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		DBUtils.whereWeAre();
		importarCobradores();
		importarVendedores();
	}

}
